Add presigned URL download support to S3 Transfer Manager#6951
Conversation
e037d5d to
10e45b1
Compare
1e11a98 to
15a7271
Compare
15a7271 to
f23f949
Compare
|
We need to add the new methods to |
| public void methodTeardown() { | ||
| tm.close(); | ||
| } | ||
|
|
There was a problem hiding this comment.
We are missing tests that verify that the progress tracking works for presigned URL downloads.
See S3TransferManagerListenerTest.java as an example. (you need to make sure the callback hooks are firing for the provided transfer listener)
There was a problem hiding this comment.
Will add these tests in an upcoming PR, working on it.
| Arguments.of(tmJava)); | ||
| } | ||
|
|
||
| static Stream<Arguments> presignedUrlTransferManagers() { |
There was a problem hiding this comment.
Is this used somewhere?
There was a problem hiding this comment.
Missed the @MethodSource reference, added now. It's used by the parameterized tests in S3TransferManagerPresignedUrlDownloadIntegrationTest.
4b75eef
into
feature/master/pre-signed-url-getobject
|
This pull request has been closed and the conversation has been locked. Comments on closed PRs are hard for our team to see. If you need more assistance, please open a new issue that references this one. |
Motivation and Context
Adds presigned URL download support to S3 Transfer Manager with
downloadFileWithPresignedUrlanddownloadWithPresignedUrlmethods. This enables customers to download objects using pre-signed URLs through the Transfer Manager with multipart download support and progress tracking.Modifications
S3TransferManager: AddeddownloadFileWithPresignedUrl(with consumer builder variant) anddownloadWithPresignedUrlpublic API methods with javadoc and code snippets.GenericS3TransferManager: Implemented presigned URL download logic with multipart support and progress tracking using wrapForNonSerialFileDownload.S3IntegrationTestBase: AddedtmNonMultipartJava(non-multipart transfer manager) andpresignedUrlTransferManagers() method source for presigned URL integration tests. CRT client is commented out with a TODO to enable when CRT presigned URL support is available.Testing
S3TransferManagerPresignedUrlDownloadTest: Unit tests covering happy path (toFile/toBytes), consumer builder, cancellation forwarding, error propagation, and null validation.S3TransferManagerPresignedUrlDownloadIntegrationTest: Integration tests parameterized by transfer manager type (nonMultipart/multipart) and file size (5MB/16MB), verifying data integrity with checksums for both downloadFileWithPresignedUrl and downloadWithPresignedUrl.Screenshots (if appropriate)
Types of changes
Checklist
mvn installsucceedsscripts/new-changescript and following the instructions. Commit the new file created by the script in.changes/next-releasewith your changes.License